package com.yvon.boot.mybatis.model;

import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.ArrayList;
import java.util.List;

/**
 * Tree基类
 *
 * @author : Yvon
 * @since : 2022-03-12
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class BaseTreeEntity<T> extends BaseEntity {

    /**
     * 父ID
     */
    private Long parentId;

    /**
     * 所有父ID
     */
    private String parentIds;

    /**
     * 本级排序号
     */
    private Integer treeSort;

    /**
     * 本级排序号和所有父级排序号
     */
    private String treeSorts;

    /**
     * 树层级
     */
    private Integer treeLevel;

    /**
     * 是否叶子节点(1：是 ；0：不是）
     *
     */
    private Integer treeLeaf;

    /**
     * 子节点
     */
    @TableField(exist = false)
    private List<?> children = new ArrayList<>();
}
